﻿using G.APITest.Config;
using System;
using System.ComponentModel.Composition;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace APITest.Oauth2Request
{
    [Export(typeof(G.APITest.Part.IAPIRequestPart))]
    public class Oauth2Project : G.APITest.Part.IAPIRequestPart
    {
        private const string authorize_ResponseType = "code";
        private static readonly KVPair[] extensionProjectProperties = new KVPair[] 
        {
            new KVPair() { Key = "APPKey" }, 
            new KVPair() { Key = "APPSecret" },
            new KVPair(){ Key="Request_Authorize_Url"} ,
            new KVPair(){ Key="Token_Authorize_Url"},
            new KVPair(){ Key="RedirectUri"}
            };
        public KVPair[] ExtensionProjectProperties
        {
            get
            {
                return extensionProjectProperties;
            }
        }

        public Action<string> RaiseStatusCallBack
        {
            get;
            set;
        }


        public void CreateRequestAsync(APIProjectConfig config, APIConfig api, Action<G.SL.Net.HttpRequest> callback)
        {
            throw new NotImplementedException();
        }
    }
}
